package com.share.device.domain;

import com.share.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 设备状态日志对象 device_status_logs
 *
 * @author
 * @date 2025-06-24
 */
@Schema(description = "设备状态日志对象")
public class DeviceStatusLog extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 日志ID
     */
    @Schema(description = "日志ID")
    private Long logId;

    /**
     * 设备ID
     */
    @Schema(description = "设备ID")
    private Long deviceId;

    /**
     * 设备类型（0：充电宝 1：设备）
     */
    @Schema(description = "设备类型（0：充电宝 1：设备）")
    private String deviceType;

    /**
     * 设备状态
     */
    @Schema(description = "设备状态")
    private String status;

    /**
     * 错误代码
     */
    @Schema(description = "错误代码")
    private String errorCode;

    /**
     * 状态描述
     */
    @Schema(description = "状态描述")
    private String description;

    /**
     * 记录时间
     */
    @Schema(description = "记录时间")
    private Date recordTime;

    /**
     * 操作人
     */
    @Schema(description = "操作人")
    private String operator;

    /**
     * 操作类型
     */
    @Schema(description = "操作类型")
    private String operationType;

    public Long getLogId() {
        return logId;
    }

    public void setLogId(Long logId) {
        this.logId = logId;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Date getRecordTime() {
        return recordTime;
    }

    public void setRecordTime(Date recordTime) {
        this.recordTime = recordTime;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public String getOperationType() {
        return operationType;
    }

    public void setOperationType(String operationType) {
        this.operationType = operationType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("logId", getLogId())
                .append("deviceId", getDeviceId())
                .append("deviceType", getDeviceType())
                .append("status", getStatus())
                .append("errorCode", getErrorCode())
                .append("description", getDescription())
                .append("recordTime", getRecordTime())
                .append("operator", getOperator())
                .append("operationType", getOperationType())
                .append("createTime", getCreateTime())
                .append("remark", getRemark())
                .toString();
    }
} 